package com.wicket.okrapp.biz.service.dto.common;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;
import java.util.Objects;

/**
 * @desc AchievementInfoDto
 * @使用场景
 */
@Data
public class AchievementInfoDto extends BaseDto implements Serializable {

  /**
   * 成果ID
   */
  @NotNull(message = "成果ID不能为空")
  @ApiModelProperty("成果ID")
  private String achievementId;

  /**
   * 成果类型ID
   */
  @ApiModelProperty("成果类型ID")
  private String achievementTypeId;

  /**
   * 成果类别ID
   */
  @ApiModelProperty("成果类别ID")
  private String achievementCategoryId;

  /**
   * 成果等级ID
   */
  @ApiModelProperty("成果等级ID")
  private String achievementGradeId;
/**
     * 成果类型编号 
     */
    @ApiModelProperty("成果类型编号")
    private String	 achievementTypeNumber;

    /**
     * 成果类型名称 
     */
    @ApiModelProperty("成果类型名称")
    private String	 achievementTypeName;

    /**
     * 版权归属别名 
     */
    @ApiModelProperty("版权归属别名")
    private String	 belongName;

    /**
     * 成果类别编号 
     */
    @ApiModelProperty("成果类别编号")
    private String	 achievementCategoryNumber;

    /**
     * 成果类别名称 
     */
    @ApiModelProperty("成果类别名称")
    private String	 achievementCategoryName;

    /**
     * 成果等级编号 
     */
    @ApiModelProperty("成果等级编号")
    private String	 achievementGradeNumber;

    /**
     * 成果等级名称 
     */
    @ApiModelProperty("成果等级名称")
    private String	 achievementGradeName;
/**
     * 成果业务等级ID 
     */
    @ApiModelProperty("成果业务等级ID")
    private String	 achievementBusinessGradeId;
/**
     * 成果业务等级编号 
     */
    @ApiModelProperty("成果业务等级编号")
    private String	 achievementBusinessGradeNumber;

    /**
     * 成果业务等级名称 
     */
    @ApiModelProperty("成果业务等级名称")
    private String	 achievementBusinessGradeName;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      AchievementInfoDto that = (AchievementInfoDto) o;
      return  achievementId == that.achievementId&&achievementTypeId == that.achievementTypeId&&achievementCategoryId == that.achievementCategoryId&&achievementGradeId == that.achievementGradeId&&achievementTypeNumber == that.achievementTypeNumber&&achievementTypeName == that.achievementTypeName&&belongName == that.belongName&&achievementCategoryNumber == that.achievementCategoryNumber&&achievementCategoryName == that.achievementCategoryName&&achievementGradeNumber == that.achievementGradeNumber&&achievementGradeName == that.achievementGradeName&&achievementBusinessGradeId == that.achievementBusinessGradeId&&achievementBusinessGradeNumber == that.achievementBusinessGradeNumber&&achievementBusinessGradeName == that.achievementBusinessGradeName;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), achievementId,achievementTypeId,achievementCategoryId,achievementGradeId,achievementTypeNumber,achievementTypeName,belongName,achievementCategoryNumber,achievementCategoryName,achievementGradeNumber,achievementGradeName,achievementBusinessGradeId,achievementBusinessGradeNumber,achievementBusinessGradeName);
    }

}
